package com.kfm.am.exec;

import java.io.File;
import java.util.List;
import java.util.stream.Collectors;

public class Exec03 {



    public static void main(String[] args) {
        // 列出指定目录中的所有图片文件（例如，.jpg、.png、.gif）。
        String pathname = "E:/Image";
        getAllPictures(pathname).forEach(f -> System.out.println(f));
    }

    private static List<File> getAllPictures(String pathname) {
        List<File> allFiles = Exec01.getAllFiles(pathname);
//        return allFiles.stream().filter(file -> file.getName().endsWith(".jpg")
//                || file.getName().endsWith(".png")
//                || file.getName().endsWith("gif")).collect(Collectors.toList());
        return allFiles.stream().filter(file -> {
            if (!file.isFile()) {
                return false;
            }
            int index = file.getName().lastIndexOf('.');
            return Commons.PIC_NAME_LIST.contains(file.getName().substring(index + 1));
        }).collect(Collectors.toList());
//        if (pathname == null || pathname.isBlank()) {
//            return null;
//        }
//        File file = new File(pathname);
//        // FilenameFilter --> 对文件名过滤 文件的父目录 + 文件名字
//        // FileFilter  --> 对文件过滤 文件这个对象
//        // list() 该目录下所有文件及目录的名字 String[]
//        // listFiles() 该目录下所有文件及目录 File对象 File[]
//        File[] files = file.listFiles(new FilenameFilter() {
//            @Override
//            public boolean accept(File dir, String name) {
//                return name.endsWith(".jpg") || name.endsWith(".png") || name.endsWith("gif");
//            }
//        });
//        if (files == null) {
//            return new ArrayList<>();
//        }
//        return Arrays.asList(files);
    }
}
